Computer graphics rely on computationally efficient methods of rendering complex shapes. One technique for simplifying a complex shape so a computer may easily manipulate it is to create a wire frame model of the shape. Some wire frame models are created with numerous triangles. When the triangles are large, the rendering is less accurate and appears as a coarse representation of the shape. However, as the triangles used to model the shape become smaller and more numerous, the level of detail becomes finer and more realistic.
Tessellation is one technique used to generate a set of smaller output triangles from a larger, coarse input triangle. It is used in graphics applications to generate detailed geometry shapes. In tessellation, each input triangle is subdivided into smaller output triangles, according to user specified factors. Generally, the tessellation is performed in a sequential first-in-first-out (FIFO) order (e.g., triangle by triangle). Moreover, the tessellation of each triangle is also executed in a sequential order, which limits performance on current multi-core processors.